package com.ITArmy.dao;

import com.ITArmy.beans.Serialize;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SerializeMapper {
    int deleteByPrimaryKey(Long sId);

    //批量删除
    int deleteManyByIds(String[] ids);

    int insert(Serialize record);

    int insertSelective(Serialize record);

    Serialize selectByPrimaryKey(Long sId);

    int updateByPrimaryKeySelective(Serialize record);

    int updateByPrimaryKey(Serialize record);

    //遍历连载
    List<Serialize> findAllSerialize();

    //根据连载标题模糊搜索
    List<Serialize> findAllSerializeByTitle(@Param("title") String title);

    //根据连载类型搜索
    List<Serialize> findAllSerializeByType(@Param("tid") Integer tid);

    //是否设置为推荐
    int recommend(@Param("id") Long id, @Param("number") Long number);

    //是否上架
    int putaway(@Param("id") Long id, @Param("number") Long number);

    //遍历推荐免费连载
    List<Serialize> recommendList();

    /**
     * 遍历付费连载
     *
     * @return list
     */
    List<Serialize> putawayList();

    //根据连载类型遍历推荐连载
    List<Serialize> findRecommendByType(@Param("tid") Integer tid);


    /**
     * 遍历投稿连载
     *
     * @return list
     */
    List<Serialize> findContributeSerialize();

    /**
     * 清除投稿
     *
     * @param sid sid
     * @return int
     */
    int removeContribute(long sid);

    /**
     * 通过标题查找投稿连载
     *
     * @param title title
     * @return list
     */
    List<Serialize> findContributeByTitle(String title);

    /**
     * 根据投稿连载类型搜索
     *
     * @param tid tid
     * @return
     */
    List<Serialize> findContributeByType(Integer tid);


    /**
     * 获取用户发表过的所有的连载
     */
    List<Serialize> getPublicSerialize(long uId);

    /**
     * 查询最新发表的一篇连载
     */
    Serialize getNewSerialize(long uId);


}